Overview of Keysight M320xA PXIe AWGs and Theory

Keysight M3201A/M3202A PXIe Arbitrary Waveform Generators include an embedded Function Generator (FG), Arbitrary Waveform Generator (AWG), and modulator blocks; together, they form a powerful signal generator that is capable of generating standard waveforms (sinusoidal, triangular, square, and DC voltages) or arbitrary waveforms defined by the user and stored on its onboard RAM. With embedded modulator blocks, the output channels can be modulated in phase, frequency, amplitude, or IQ to create analog or digital modulation.

 

This chapter describes the following topics:

 

 

Working with Signal Generation/Channel Structure

Each channel (Channel 1 to Channel n) has an identical structure that contains a Function Generator (FG), Arbitrary Waveform Generator (AWG), Frequency and Phase Angle Modulator, Amplitude and DC Offset Amplitude Modulator, and an IQ Modulator.

 

This section describes the following topics:

 

Channel Numbering and Compatibility Mode

Compatibility mode, can be changed by open, is available to support legacy modules and allows the channel numbering (channel enumeration) to start with either
CH0 or CH1.

 

Option Description Name Value
Legacy Channel enumeration starts with CH0 COMPATIBILITY_LEGACY 0
Keysight Channel enumeration starts with CH1 COMPATIBILITY_KEYSIGHT 1

 

Legacy modules refer to SD1 modules that were manufactured by Signadyne before they were acquired by Keysight Technologies.

If the hardware equipment configuration being used only contains modules from Keysight Technologies, channel enumeration should start with CH1.

Channel Waveshape Types

Each channel has a Function Generator (FG) block that generates basic periodic signals and an Arbitrary Waveform Generator (AWG) block that generates arbitrary waveforms.

FG vs AWG: When the generation of periodic signals is needed, an FG has many advantages over a pure AWG solution:

 

waveShape Description Name Value
HIZ The output signal is set to HIZ
(No output signal is provided.) *
AOU_HIZ -1
No Signal The output signal is set to 0.
All other channel settings are maintained.
AOU_OFF (default) 0
Sinusoidal Generated by the Function Generator AOU_SINUSOIDAL 1
Triangular Generated by the Function Generator AOU_TRIANGULAR 2
Square Generated by the Function Generator AOU_SQUARE 4
DC Voltage Generated by the Amplitude Modulator AOU_DC 5
Arbitrary Waveform Generated by the Arbitrary Waveform Generator
(See AWG Waveform Types)
AOU_AWG 6
Partner Channel Only for odd channels. It is the output of the
previous channel (to create differential signals, etc.)
AOU_PARTNER 8

* Only available for Keysight M3202A PXIe AWG models

AOU_PARTNER (8) is used for channels 1 and 3; the signal comes from AWG mode and not the Function Generator.

 

To produce differential I/Q signals for channels 1 and 3:
  1. Set waveShape to AOU_PARTNER (8).
  2. Set the amplitude in Channel 1 to (Amplitude 1).
    For example, Amplitude 1 could be set to 1 V.

  3. Set the amplitude in Channel 3 to (Amplitude 3).
    For example, Amplitude 3 could be set to 1 V.

To produce differential I/Q signals for channels 2 and 4:
  1. Set waveShape to AOU_AWG (6)
  2. Set the amplitude in Channel 2 to (—Amplitude 1).
  3. Set the amplitude in Channel 4 to (—Amplitude 3).

    Channel 2 amplitude must be equal to and opposite to Channel 1 amplitude.

    Channel 4 amplitude must be equal to and opposite to Channel 3 amplitude.

 

Programming Information

Function Name

Comments

Details

channelWaveShape

Sets the channel waveshape type

channelWaveShape

 

Signal Generation with the Function Generator

Each channel has a Function Generator (FG) that generates basic periodic signals (sinusoidal, triangular, square, etc.) and is commonly used to generate the RF carrier in modulation schemes. These periodic signals can be modulated in frequency, phase, amplitude, or IQ.

Waveform harmonics: Non-sinusoidal wave shapes (triangular, square, etc.) have high frequency components that may fall outside the bandwidth of the reconstruction filter if the fundamental frequency is too high. In this situation, the output analog signal may suffer some distortion due to the missing harmonics, becoming a sinusoidal as the fundamental frequency approaches the cutoff frequency of the reconstruction filter.

 

Signal Generation with the Arbitrary Waveform Generator

Each channel has an Arbitrary Waveform Generator (AWG) block that generates arbitrary waveforms that can be sent directly to each output channel or they can be used as a modulating signal for the frequency, phase, amplitude, or IQ modulators.

See Working with AWG Waveforms.

Channel Frequency and Phase

Each channel has an Angle Modulator block that has a frequency and phase control.

In angle modulation schemes, these controls set the frequency and phase of the carrier. See Frequency and Phase Modulation (Angle Modulator Block).

Phase coherent vs. phase continuous: Changes in the output signal are always phase continuous, not phase coherent. For example, the frequency is changed from freq1 to freq2 and changed back to freq1, the phase will not be the initial one. To achieve phase coherent behavior the channel accumulated phase can be reset using channelPhaseReset . In addition, in HVI operation (when using the Keysight M3601A Hard Virtual Instrument (HVI) Design Environment Software ) the execution time is deterministic, which allows the user to calculate the new phase and adjust it after any frequency change.

 

Programming Information

Function Name

Comments

Details

channelFrequency

Sets the frequency of the FG

channelFrequency
channelPhase Sets the phase of the FG channelPhase
channelPhaseReset Resets the accumulated phase channelPhaseReset

Channel Amplitude and DC Offset

Each channel has an Amplitude Modulator block that has an amplitude and DC offset control; these controls have a combined range from 1.5 V to –1.5 V.

See Frequency and Phase Modulation (Angle Modulator Block).

Programming Information

Function Name

Comments

Details

channelAmplitude

Sets the output amplitude

channelAmplitude

channelOffset Sets the output DC offset channelOffset

Working with AWG Waveforms

Each channel has an Arbitrary Waveform Generator (AWG) block that generates arbitrary waveforms.

 

This section describes the following topics:

AWG Programming Process

AWG block operation can be configured with a one-step programming process
or with a step-by-step programming process.

One-Step AWG programming process
AWG provides a one-step solution to load, queue, and run a single waveform directly from a file or from an array in the PC.
This function simplifies the generation of a single waveform, but it does not allow control over the following aspects of waveform generation:
Step-by-Step AWG programming process
Keysight SD1 Programming Libraries provide full control of all aspects of arbitrary waveform generation:
  1. Create waveforms in the PC RAM
    with new ; waveforms can be created from points in an array
    or from points in a file stored on hard disk.
  2. Transfer waveforms to a module's onboard RAM with waveformLoad .
  3. Queue waveforms in an AWG with AWGqueueWaveform to create the desired generation sequence.
  4. Select the sync mode of the queue with AWGqueueSyncMode .
  5. Start the generation with AWGstart and provide triggers if required.
    See AWG Waveform Queue System .

AWG Waveform Queue System

Each AWG block has a flexible waveform queue system that can be used to configure complex generation sequences. In order to generate waveforms, they must be loaded into the module onboard RAM and queued in each corresponding AWG.

 

The AWG waveform queue system has the following advantages:

 

Each AWG queued waveform has the following parameters:

AWG Waveform Queue System Examples

Inter-waveform/inter-cycles discontinuities: The AWG Queue System allows the user to queue many waveforms one after the other. It also provides the capability to set repetition cycles per waveform and repetition cycles for the complete queue. In all these cases, there are absolutely no discontinuities between waveforms or cycles, providing a continuous waveform generation from the last sample point of the finished waveform to the first sample point of the starting waveform.

 

HVI Generation Sequences: The queue system of the AWGs provide a way to create generation sequences. For more complex sequences, the best solution is the use of Keysight’s Hard Virtual Instruments (HVIs), which are time deterministic sequences with nanosecond resolution, providing a hard real-time execution.

HVIs are programmed with Keysight M3601A Hard Virtual Instrument (HVI) Design Environment Software , a user-friendly flowchart-style design environment.

AWG Prescaler and Sampling Rate

The user can set a different prescaler value for each of the waveforms queued in the AWG. This prescaler reduces the effective sampling frequency of each individual waveform as follows:

 

M3201A

0 => fs=500 MS/s

>=1 => fs=100/n MS/s

 

M3202A

0 => fs=1 GS/s

1 => fs=200 MS/s

>1 => fs=100/n MS/s

 

where:

 

An important advantage of this method is the possibility to change the sampling frequency in real time from one waveform to another, reducing waveform sizes and maximizing the flexibility of the AWG.

Prescaler vs. Upsampling: Note that reducing the effective sampling rate of the waveform with the prescaler is not the same as using a full upsampler, as the prescaler does not contain any filter and therefore it generates aliasing inside the reconstruction filter bandwidth. For applications were full Upsampling is required, the user must use an IF Generator or Transceiver with DUC (Digital Up Converter) capabilities.

AWG Trigger Mode

A different trigger mode can be configured in each queued waveform.

   
OptionDescriptionNameValue
Auto                                 The waveform is launched automatically after AWGstart , or when the previous waveform in the queue finishesAUTOTRIG0
Software / HVI Software trigger. The AWG is triggered by the
AWGtrigger , provided that the AWG is running. AWGtrigger can be executed from the user application (VI) or from an HVI. (See HVI in Keysight M3601A Hard Virtual Instrument (HVI) Design Environment Software .)
SWHVITRIG1
Software / HVI
(per cycle)
Software trigger. Identical to the previous option, but the trigger is required per each waveform cycleSWHVITRIG_CYCLE5
External
Trigger
Hardware trigger. The AWG waits for an external triggerEXTTRIG2
External
Trigger
(per cycle)
Hardware trigger. Identical to the previous option, but the trigger is required per each waveform cycleEXTTRIG_CYCLE6

1 VIHVITRIG is equivalent, but is considered obsolete

Programming Information

Function Name

Comments

Details

AWG

Provides a one-step method to load, queue, and start a single waveform

AWG

AWGqueueWaveform

Queues a waveform in the specified AWG

AWGqueueWaveform

 

If the queued waveforms are going to use any of the External Trigger modes, the source of this trigger must be configured using AWGtriggerExternalConfig . The available external trigger options.

External Trigger Connector/Line Usage: Apart from the AWG trigger settings, an external trigger connector/line may have additional settings (input/output direction, sampling/synchronization options, etc.) that need to be configured for proper operation.

AWG External Trigger Source

   
OptionDescriptionNameValue
External I/O TriggerThe AWG trigger is a TRG connector/line
of the module. PXI form factor only:
this trigger can be synchronized to CLK10.
TRIG_EXTERNAL0
PXI Trigger [0 to n]PXI form factor only. The AWG external trigger is a
PXI trigger line and it is synchronized to CLK10.
TRIG_PXI + Trigger No.4000 + Trigger No.

 

AWG External Trigger Behavior

   
OptionDescriptionNameValue
Active HighTrigger is active when it is at level highTRIG_HIGH1
Active LowTrigger is active when it is at level LowTRIG_LOW2
Rising EdgeTrigger is active on the rising edgeTRIG_RISE3
Falling EdgeTrigger is active on the falling edgeTRIG_FALL4

 

AWG Markers

A different marker can be configured for each AWG channel. All waveforms must already be queued (AWGqueueMarkerConfig ) in one of the module's AWGs.

 

AWG FlexCLK Synchronization
(models with variable sampling rate)

FlexCLK Technology (models w/ variable sampling rate) shows the internal diagram and the operation of the M3201A/M3202A PXIe AWGFlexCLK system. This advanced technology allows you to change the sampling frequency of the AWGs (CLKsys), while maintaining full synchronization capabilities due to the internal CLKsync signal.

 

CLKsync is an internal signal used to start the AWGs and it is aligned with CLKsys and PXI CLK10. Its frequency depends on the FlexCLK Technology (models w/ variable sampling rate), resulting in the following scenarios:

fCLKsync = fPXI CLK10

 

When both frequencies coincide, there is no phase uncertainty between both signals and a trigger synchronized with PXI CLK10 will start the AWGs always with the same skew, independently of the clock boot conditions. This ensures proper synchronization between different modules.

fCLKsync! = fP XI CLK10

 

When both frequencies do not coincide, both signals are still aligned, but there is a phase uncertainty due to their frequency difference. In this case, if a trigger synchronized with PXI CLK10 is sent to the system, there might be a skew between the start of different AWGs.

This phase uncertainty can be easily corrected using clockResetPhase . This function sets the modules in a sync mode and the next trigger is used to reset the phase of the CLKsync and CLKsys signals, not to start the AWGs. In this way, the phase uncertainty between different modules or between different boot conditions can be eliminated, resulting in a predictable and repeatable skew.

AWG Waveform Array and *.cvs File Structure

The two possible sources of waveforms are an array in the PC RAM and a file in the PC HDD. The memory array is just an array of waveform points, without header and without any particular structure. A waveform file is simply a text file with values separated by commas (*.csv).

 

The waveformType is a parameter that tells the module which kind of waveform it used to configure the AWG internally.

AWG Waveform Types

See waveformType in waveform file or in new .

 

Modulation Option

 

Description

 

Name

 

Value

Analog 16 BitsAnalog normalized waveforms (-1 to 1) defined with doublesWAVE_ANALOG_160
Analog 32 BitsAnalog normalized waveforms (-1 to 1) defined with doublesWAVE_ANALOG_321
Analog 16 Bits DualAnalog normalized waveforms (-1 to 1) defined with doubles, with two components (A and B)WAVE_ANALOG_16_DUAL4
Analog 32 Bits DualAnalog normalized waveforms (-1 to 1) defined with doubles,
with two components (A and B)
WAVE_ANALOG_32_DUAL6
IQAnalog normalized waveforms (-1 to 1) defined with doubles,
with two components (I and Q)
WAVE_IQ2
IQ PolarAnalog waveforms (-1 to 1 module,
-180 to +180 phase) defined with doubles, with two components
(Module and Phase)
WAVE_IQPOLAR3
DigitalDigital waveforms defined with integersWAVE_DIGITAL5

Working with Signal Modulation

Signals can be modulated in frequency, phase, amplitude, or IQ.

Frequency and Phase Modulation (Angle Modulator Block)

The output signal of the Function Generator (FG) block or the Arbitrary Waveform Generator (AWG) block can be modulated.


OptionDescriptionNameValue

No Modulation

Modulation is disabled

AOU_MOD_OFF (default)

0

Frequency Modulation

AWG is used to modulate the channel frequency

AOU_MOD_FM

1

Frequency Modulation
(32 bits)*

AWG is used to modulate the channel frequency

AOU_MOD_FM_32b

1

Phase Modulation

AWG is used to modulate the channel phase

AOU_MOD_PM

2

*Models with Option DM1 dual modulation capability (amplitude and angle modulation simultaneously)

 

The modulating signal is generated using the AWG associated to that particular channel, for example, AWG1 for channel 1. The angle modulator allows the user to create any analog/digital frequency or phase modulation, for example: FM, FSK, PM, PSK, DPSK, etc.

The output signal of a channel using the frequency modulation is the following:

where:

As an example, for the generation of an FM signal with an amplitude of 0.8 Vp, a modulation index (h) equal to 0.5 and a maximum frequency of the modulating signal of 10 MHz, the settings must be A=0.8 and G=5,000,000 (G = h*maxf req[AW G(t)]).

 

The output signal of a channel using the phase modulation is the following:

where:

As an example, for the generation of a PM signal with an amplitude of 0.8 Vp and a modulation index (h) equal to 1800, the settings must be A=0.8 and G=180 (G=h).

Programming Information

Function

Comments

Details

modulationAngleConfig

Configures the angle modulator

modulationAngleConfig

AWG functionsControl the modulating signalSignal Generation with the Arbitrary Waveform Generator

FG functions

Control the carrier signalWorking with Signal Generation/Channel Structure

AM and DC Offset (Amplitude Modulator Block)

The amplitude modulator can be used to modulate the amplitude or change the DC offset of the output signal.

Mutual Exclusions for Modulations: Internally, IQ modulation uses the amplitude and the angle modulators so they cannot be used when the module is working in IQ mode.

 

The modulating signal is generated using the AWG associated with a particular channel (for example, AWG1 corresponds to Channel 1). The Amplitude Modulator can be used to create analog/digital amplitude modulation (for example, AM, ASK, etc.).

The output signal of a channel using the Amplitude Modulator is the following:

where:

 

As an example, for generation of an AM signal with an amplitude of 0.8 Vp and a modulation index (h) equal to 0.5, the settings must be A=0.8 and G=0.32 (G = h ∙A2).

The output signal of a channel using the amplitude modulator to modulate the offset is the following:

Options
Mutual Exclusions for Modulations: The Amplitude Modulator can be used with signals coming from the Function Generator directly, the AWG, or the frequency/phase modulators. Therefore, the latter can be combined with amplitude modulation at will (although it only makes sense for frequency/amplitude modulations, because for phase/amplitude modulations there is a dedicated IQ operation, IQ Modulation (Quadrature Modulator Block), which uses the internal amplitude and the angle modulator).

 

Function

modulationType

(const & value)

Description

No Modulation

AOU MOD OFF

0 (default)

Modulation is disabled. The channel amplitude and offset are only set by the main registers.

Amplitude Modulation

AOU MOD AM

1

The modulating signal is used to modulate the channel amplitude.

Offset Modulation

AOU MOD OFFSET

2

The modulating signal is used to modulate the channel offset.

 

Programming Information

Function

Comments

Details

modulationAmplitudeConfig

Configures the amplitude modulator

modulationAmplitudeConfig

AWG functionsControls the modulating signalSignal Generation with the Arbitrary Waveform Generator
FG functions

Controls the carrier signal

Working with Signal Generation/Channel Structure

 

IQ Modulation (Quadrature Modulator Block)

The output signal of the Function Generator can be modulated simultaneously in amplitude and angle (frequency or phase). This allows the creation of an IF signal with amplitude modulation while the frequency is scanned.

However, the most common use of dual modulations is the amplitude and angle modulation decomposed to in-phase (I) and quadrature (Q) components, commonly known as IQ modulation. In order to make the creation of IQ modulations easier, there are dedicated programming functions for that purpose.

The modulating signals are generated using the IQ Modulation (Quadrature Modulator Block) associated to that particular channel, for example, AWG1 for channel 1. In this case, the waveform loaded into the AWG is composed by the two waveforms (for example, I and Q components, see AWG FlexCLK Synchronization (models with variable sampling rate)).

The output signal of a channel using the IQ modulator is the following:

IQ waveforms are sometimes called complex waveforms due to the mathematical form I(t)+iQ(t).

where:

Output(t) = A ∙ AWGA(t) ∙ cos(2πfct + ϕc + π/2 ∙ AWGϕ(t)) (7)

where:

Mathematical Background of IQ Modulation
A ∙ cos(2πfct + ϕc + ϕ) = A ∙ cos(2πfct + ϕc) cos(ϕ) — A ∙ sin(2πfct + ϕc) sin(ϕ) (8)

 

where the I and Q components are defined as follows:

 

I = A ∙ cos(ϕ) (9)
Q = A ∙ sin(ϕ) 

 

and the IQ components become very useful to set the amplitude (A) and the phase(ϕ) of the output signal, resulting in IQ modulation (or QAM, Quadrature Amplitude Modulation).

 

A ∙ cos(2πfct + ϕc + ϕ) = I ∙ cos(2πfct + ϕc) — Q∙ sin(2πfct + ϕc) (10)
Mutual Exclusions for Modulations: Internally, IQ modulation uses the amplitude and the angle modulators so they cannot be used when the module is working in IQ mode.

 

Programming Information

Function

Comments

Details

modulationIQconfig

Configures the IQ modulation

modulationIQconfig

AWG functionsControl the modulating signal Signal Generation with the Arbitrary Waveform Generator
FG functions

Control the carrier signal

Signal Generation with the Function Generator

 

Working with I/O Triggers

The M3201A/M3202A PXIe AWG has general purpose input/output triggers
(TRG connectors/lines). A trigger can be used as a general purpose digital IO or as a trigger input, and can be sampled using the options shown below in
Trigger Synchronization/Sampling Options.

 

Because the Keysight M3201A and M3202A PXIe AWGs have different output latencies, triggering both at the same time from HVI will always result in a 65 to 70 ns offset between their outputs.

 

   
OptionDescriptionNameValue
Trigger Output
(readable)
TRG operates as a general purpose digital output
signal, that can be written by the user software
AOU_TRG_OUT0
Trigger InputTRG operates as a trigger input, or as general purpose digital input signal, that can be read by the
user software
AOU_TRG_IN   1

 

   
OptionDescriptionNameValue
Non-synchronized modeThe trigger is sampled with an internal 100 MHz clockSYNC_NONE0
Synchronized mode(PXI form factor only) The trigger is sampled using CLK10SYNC_CLK101

 

Working with the Clock System

The M3201A/M3202A PXIe AWG uses an internally generated high-quality clock (CLKref) which is phase-locked to the chassis clock. Therefore, this clock is an extremely jitter-cleaned copy of the chassis clock. This implementation achieves a jitter and phase noise above 100 Hz which is independent of the chassis clock, depending on it only for the absolute frequency precision and long term stability.
A copy of CLKref is available at the CLK connector.

 

CLKref is used as a reference to generate CLKsys, the high-frequency clock used to sample data.

 

Chassis Clock Replacement for High-Precision Applications: For applications where clock stability and precision is crucial (for example: GPS, experimental physics, etc.), the user can replace the chassis clock with an external reference.

In the case of PXI/PXIe, this is possible via a chassis clock input connector or with a PXI/PXIe timing module. These options are not available in all chassis; see the corresponding chassis specifications.

CLK Output Options

   

Option

Description

Name

Value

Disable

The CLK connector is disabled

n/a

0 (default)

CLKref OutputA copy of the reference clock is available at the CLK connector n/a1

FlexCLK Technology (models w/ variable sampling rate)

The sampling frequency of the M3201A/M3202A PXIe AWG (CLKsys frequency) can be changed using the advanced clocking system.

FlexCLK System

where:

 

The CLKsys frequency can be changed within the range indicated in the datasheet of the corresponding product (clockSetFrequency (Requires Option CLV) ). The CLKsync frequency changes with the CLKsys frequency as follows:

The CLKsync frequency is returned by clockSetFrequency (Requires Option CLV) .

   

Option

Description

Name

Value

Low Jitter Mode

The clock system is set to achieve the lowest jitter, sacrificing tuning speed

CLK_LOW_JITTER

0

Fast Tuning Mode

The clock system is set to achieve the lowest tuning time, sacrificing jitter performance

CLK_FAST_TUNE

1

CLKref Frequency in AWG Modules with Option CLV

In M3201A-CLV modules, CLKref frequency (freqCLKref) changes as follows, as a function of CLKsys frequency (freqCLKsys):

 

In M3202A-CLV modules, CLKref frequecy (freqCLKref) changes as follows, as a function of CLKsys frequency (freqCLKsys):